all: demo1.out demo2.out demo3.out incache.out outcache.out

demo1.out: demo1.cpp _public.h
	g++ -g -o demo1.out demo1.cpp 

demo2.out: demo2.cpp _public.h
	g++ -g -o demo2.out demo2.cpp 

demo3.out: demo2.cpp _public.h _public.cpp
	g++ -g -o demo3.out demo3.cpp _public.cpp

incache.out: incache.cpp _public.h _public.cpp
	g++ -g -o incache.out incache.cpp _public.cpp

outcache.out: outcache.cpp _public.h _public.cpp
	g++ -g -o outcache.out outcache.cpp _public.cpp

clean:
	rm -rf demo1.out demo2.out demo3.out incache.out outcache.out
